home *** CD-ROM | disk | FTP | other *** search
-
- EnhancedGEM-Library Version 2.10
- -----------------------------------
- (c) 1994 Christian Grunenberg
-
-
-
- Wichtigste Änderungen gegenüber der letzten Version:
- -----------------------------------------------------
- (genaue Änderungen s. History und Anleitung)
-
- - mehr als 50 neue u. 12 geänderte Funktionen
- - neue Beispielprogramme zur Demonstration der Fensterroutinen
- (u.a. Resource-Previewer, Clipboard-Viewer, XClipboard und ein einfacher
- Datei-Viewer (Text, Image, ASCII-Dump))
- - Light-Version der Library durch Definition des Makros 'SMALL_EGEM'
- - komplette Fensterverwaltung, u.a. optional Redraw und Scrolling durch
- die Library, Ikonifizierung (ICFS,MTOS und ansonsten ICFS-kompatibel
- dank Dirk Haun)
- - Unterstützung diverser Drag&Drop-Varianten als Empfänger und Sender
- - Fensterdialoge können jetzt alle Fensterelemente besitzen
- - optimierte Ereignisverwaltung, u.a. schnellere Timer und gepufferte,
- interne Nachrichtenverwaltung sowie 4 Timer-Events
- - Clipboard-Protokoll an offizielle Version angepaßt
- - System- (mit Überschrift)/Applikationsmodale Alertboxen, bis zu 16
- Zeilen Text, Text der Alertbox optional mit allen Textattributen
- - Definition des View-Protokolls integriert
- - Eingabefelder in Dialogen können Text per ACC_TEXT empfangen
- - alle Eingabefelder eines Dialogs mit Shift-Esc löschen
- - TriState-Checkboxen (Checkboxen mit TOUCHEXIT-Flag)
- - beliebige GDOS-Fonts/-Größen sowie VDI-Schreibmodi bei Attribut-Text
- - nicht-proportionale GDOS-Fonts in Eingabefeldern, sofern dies vom AES
- unterstützt wird
-
- 1. Rechtliches:
- -----------------
-
- EnhancedGEM ist inklusive aller Quelltexte (in C und Assembler) und
- (Beispiel-) Programme Freeware, d.h. jedermann/-frau darf EnhancedGEM
- beliebig oft und lang kopieren, benutzen und weitergeben.
- Allerdings darf das Archiv nur unverändert weitergegeben werden, d.h.
- u.a. dürfen keine Dateien gelöscht oder Änderungen/Erweiterungen in den
- Sourcen vorgenommen werden. PD-Versender oder kommerzielle Mailboxen,
- welche mit Gewinn arbeiten, dürfen EnhancedGEM NICHT verbreiten, solange
- sich diese nicht ein schriftliche Genehmigung bei mir eingeholt haben.
-
- Eine kommerzielle Nutzung der Library für Share- oder Löhnware ist unter-
- sagt, sofern sie nicht mit mir abgesprochen wurde! U.a. erwarte ich in
- diesem Fall entweder eine einmalige, geringe "Entschädigung" oder
- alternativ eine geringe Beteiligung an der Sharewaregebühr bzw. dem
- Verkaufspreis (1 bis 2 Mark pro Stück bzw. abhängig vom Preis auch mehr
- oder weniger). Für private Projekte sowie Freeware-, Fairware- oder PD-
- Software gelten diese Einschränkungen natürlich nicht.
-
- Für die einwandfreie Funktionalität der Library kann und will ich nicht
- garantieren und übernehme daher keinerlei Verantwortung für Schäden je-
- glicher Art, die von der Library oder den beiliegenden Programmen verur-
- sacht werden.
-
- Die Benutzung von EnhancedGEM erfolgt somit auf EIGENE Gefahr!
-
-
- 2. Support:
- -------------
-
- Die neueste Version der Library ist jeweils in der Maus Stuttgart 2
- (Tel.: 0711-6364625) erhältlich oder kann direkt bei mir bezogen werden
- (frankierten und adressierten Rückumschlag an mich senden). Bei Fragen
- und/oder Fehlermeldungen kann man sich ebenfalls an mich wenden.
-
- Christian Grunenberg
- Traminerweg 5
- D-71717 Beilstein
-
- Tel.: 07062 - 5287 (möglichst nicht vor 12 Uhr)
-
- E-Mail:
- Christian Grunenberg@S2 (Mausnet)
- Christian_Grunenberg@S2.maus.de (Usenet)
-
- 3. Fähigkeiten und Bedienung:
- -------------------------------
-
- - Resource-Previewer
- - läßt sich mit GNU-C, Pure C und Lattice C einsetzen
- - an MultiTOS, MiNT (Programme laufen u.a. in der MiNT-Domain),
- Mag!X (ab V2.0), Geneva sowie Winx (ab V2.1) angepaßt
- - Definitionen der Protokolle XAcc2, AV, Menü, Clipboard, View
- und Drag & Drop
- - XAcc2-, AV-, Clipboard- und Drag&Drop-Protokolle werden automatisch
- unterstützt
- - verbesserte Ereignis-Verwaltung mit 4 Rechteck-, 2 Button- und
- 4 Timer-Events sowie optimierte Pufferung von (Fenster-) Nachrichten
- bei geöffneten systemmodalen Dialogen oder Popups (u.a. werden
- mehrfache Nachrichten sowie Redraws zusammengefaßt)
-
- - Fensterverwaltung und -funktionen:
- - Routinen zur Verwaltung von Fenstern (Öffnen, Schließen, Setzen,
- Scrolling, Redraw, usw.)
- - Ikonifizieren von Fenstern unter MTOS (ab V1.07), MagiC (ab V3.00),
- Geneva, bei vorhandenem ICFS und ansonsten ICFS-kompatibel
- - ikonifizierte Darstellung (Titel und Icon) bei jedem Fenster
- optional wählbar
- - optional Redraw und Scrolling vollautomatisch
- - Unterstützung der Winx-Scrollboxen
- - im ikonifizierten Zustand werden alle Fensternachrichten auto-
- matisch ausgewertet
- - Fenster wechseln/schließen (Hotkeys und Menüpunkte definierbar)
- - Fensterfuller per Hotkey Ctrl-#* (* auf Ziffernblock) anwählbar
- - An-/Abmeldung der Fenster beim AV-Server
- - optionale Hintergrundbedienung unter allen TOS-Versionen
- - bei geöffneten systemmodalen Dialogen oder Popups werden Nach-
- richten und zu setzende Werte automatisch bis zum Schließen
- der Dialoge/Popups gepuffert und dann an die Ereignisver-
- waltung weitergeleitet
-
- - Ikonififizierung von Fenstern bei vorhandenem ICFS-Server:
- (analog, falls weder MTOS- noch ICFS-Ikonifizierung vorhanden)
-
- - [Alternate]-Closer - ein einzelnes Fenster verkleinern
- (Hotkey: Ctrl-Space)
- - [Shift]-Closer - alle Fenster einzeln verkleinern
- (Hotkey: Ctrl-Shift-Space)
- - [Control]-Closer - alle Fenster in ein Fenster verkleinern
- - Mausklick in ein verkleinertes Fenster öffnet es wieder an der
- alten Position
-
- - einfache Menüverwaltung:
- - An-/Abmeldung und (De-) Aktivierung der Menüleiste
- - Menueinträge (de-) aktivieren sowie Menütitel (de-) selektieren
- - Abfrage, ob ein Drop-Down-Menü heruntergeklappt ist
-
- - Dialogverwaltung:
- - unmodale/modale Fensterdialoge, fliegende und normale Dialoge
- - beliebig viele Fenster-/fliegende Dialoge gleichzeitig
- - Fensterdialoge können alle Fensterelemente des AES besitzen,
- wobei die zusätzlichen Elemente von der Applikation gesetzt und
- ausgewertet werden müssen
- - fliegende Dialoge springen zur Mausposition bei Mausklick außer-
- halb des Dialogs und fliegen optional bei Klick auf nicht-selek-
- tierbares Objekt (u.a. system-modale Alertboxen)
- - Rechtsklick auf Objekt im Vordergrund-Dialog (bei aktiver Hinter-
- grundbedienung auch im Hintergrund-Dialog) simuliert Doppelklick
- - Fensterdialoge durch zusätzlich gedrückte rechte Maustaste im
- Hintergrund bedienbar (optional auch ohne rechte Maustaste)
- - Tastaturbedienung der Dialoge, wobei in Dialogen mit Edit-Feldern
- zusätzlich die Alternate-Taste gedrückt werden muß
- (Doppelklick-Simulation durch zusätzlich gedrückte Shift-Taste)
- - Tastendrücke optional zum Dialog unter dem Mauszeiger
-
- - erweiterte Alert-Funktion:
- - 18 vordefinierte Icons
- - benutzerdefinierte Icons beliebiger Größe
- - beliebig lange Zeilen und Buttons
- - Alert-Text optional mit allen Textattributen
- - maximal 16 Zeilen sowie 5 Buttons
- - Buttons über Hotkey anwählbar (auch ohne Alternate-Teste)
- - Buttons linksbündig/rechtsbündig/zentriert sowie optional
- mit einheitlicher Breite
- - System- oder Applikationsmodal
-
- - erweiterte Möglichkeiten in Eingabe-Feldern
- - Text kann per ACC_TEXT-Nachricht eingegeben werden:
- - Ist der Text einzeilig und enthält keinen Zeilentrenner
- (CR,LF), so wird der Text an das aktuelle Eingabefeld
- angehängt. Ansonsten wird der Text eingefügt und mit jedem
- Zeilentrenner wird zum nächsten Eingabefeld gesprungen, so
- daß durch die Übergabe eines mehrzeiligen Textes z.B.
- alle Eingabefelder ausgefüllt werden können
- - exakte Cursorpositionierung per Maus
- - Mauscursor wird über Eingabefeldern zum Textcursor
- - Enthält die Eingabemaske eines der Zeichen ',.;:\/' und wird
- dieses Zeichen eingegeben, wenn der Cursor VOR diesem Zeichen
- steht, so wird das Eingabefeld bis zu diesem Zeichen mit
- Leerzeichen gefüllt und der Cursor hinter dieses Zeichen
- gesetzt (Beispiel: Punkt '.' in Dateimasken)
- - erstes/letzes Eingabefeld (Home/Shift-Home, Shift-Up/Down)
- - Wort vor/zurück (Ctrl-Left/Right)
- - Anfang/Ende des Eingabesfeldes (Shift-Left/Right)
- - vorheriges Eingabesfeld (Up,Shift-Tab/Enter/Return)
- - nächstes Eingabefeld (Down/Tab/Enter)
- - Cursor ein Zeichen nach links/rechts (Left/Right)
- - Eingabefeld löschen (Esc)
- - alle Eingabefelder löschen (Shift-Esc)
- - Eingabefeld ab Cursor löschen (Shift-Del)
- - Eingabefeld bis Cursor löschen (Shift-Backspace)
- - Eingabebox für alle Ascii-Zeichen (Shift-Insert)
- - Sonderzeicheneingabe durch Eingabe des dezimalen ASCII-Wertes
- bei gedrückter Alternate-Taste auf dem Ziffernblock
- => sofern der ASCII-Wert nicht eindeutig ist (ASCII<=25), müssen
- alle drei Stellen (evtl. mit führenden Nullen) eingegeben
- werden
- - Undo (Undo bzw. Shift-Undo, sofern Undo-Button vorhanden)
- - History-Funktion der letzten eingegebenen Texte (Ctrl-Up/Down)
- => mit Shift-Taste: Text in History suchen
- - Clipboardunterstützung:
- => mit Shift-Taste: Text an Clipboard/Eingabe-Feld anhängen
- -> Ctrl-X: Text ausschneiden und in Clipboard ablegen
- -> Ctrl-C: Text in Clipboard ablegen
- -> Ctrl-V: Text in Eingabefeld einfügen
- - Einfüge-/Überschreibenmodus (Insert)
- => Strich-/Block-Cursor
- - neue zusätzliche Gültigkeitsmasken in Eingabefeldern:
- 'c','C': Ziffern "0-9", Komma ".,", Rechenzeichen "+-*/^",
- Klammern "(){}[]"
- 'l','L': LED-Ziffern "0-9"
- '<Ziffer>': Ziffer='0'-'9'
- alle Ziffern von '0' bis <Ziffer>, z.B.
- '1': Binärziffern
- '7': Oktalziffernn
- '9': Dezimalziffern
- 'h','H': Hexadezimalziffern "0-9A-F",
- Umwandlung in Klein/Großbuchstaben
- 'u','U': ASCII 32-127, Umwandlung in Klein-/Großbuchstaben
- 'v','V': ASCII 32-255, Umwandlung in Klein-/Großbuchstaben
- 'w','W': ASCII 32-127
- 'y','Y': ASCII 32-255
- - größtenteils automatische Anpassung (sofern möglich) der
- eingegeben Zeichen an Gültigkeitsmaske
- - kleiner/großer System-Font können in Eingabefeldern benutzt
- werden. Unterstützt das AES auch nicht-proportionale GDOS-Fonts,
- so können diese ebenfalls in Eingabefeldern verwendet werden.
- - Bedeutung von Return wahlweise
- - Return selektiert DEFAULT-Objekt
- - Return springt zum nächsten Eingabefeld (zyklisch)
- - Return selektiert beim letzten Eingabefeld das DEFAULT-Objekt
-
- - Cookie-/Scrap-/Resource- u. Environment-Library
- - einfache Funktionen zur Verwaltung von Pfad-/Dateinamen sowie zum
- Aufruf des Fileselectors
- - erweiterte Rectangle- & Object-Library (u.a. von PC-GEM 2.0), u.a.
- - Bildschirmbereiche kopieren, löschen, invertieren, sichern
- und wiederherstellen
-
- - viele erweiterte Objekte:
- - Radio-Buttons
- - (TriState-) Check-Buttons
- - Cycle-Buttons für Popups
- - Help-Button
- - Undo-Button
- - Text mit Attributen
- - unterstrichen,kursiv,umrandet,schattiert,fett,hell,klein/groß
- - beliebige GDOS-Fonts und Größe wählbar (unabhängig vom AES!)
- - Rahmen mit Titel
- - Titel (=unterstrichener Text)
- - beliebige Strichdicke, optional doppelt unterstrichen
- - Flugecke
- - Slider-Arrows (opt. umrandet)
- - Niceline
- - opt. von Eingabefeldern abhängiges DEFAULT-Objekt
- - unmodale und modale Objekte, d.h. die Objekte kommen nur in
- (un-) modalen Dialogen vor
- - usw.
-
- - Echtzeitgummiband/-schieber mit halb- oder vollautomatischer Ver-
- waltung bzw. Ereignisauswertung sowie optionaler Tastaturbedienung
-
- - variable Popup-Menüs (vollständig tastaturbedienbar (Hotkeys),
- frei positionierbar)
- - Hotkeys (unterstrichener Buchstabe, optional mit gedrückter
- Alternate-Taste)
- - vorheriger Eintrag (Cursor links/hoch)
- - nächster Eintrag (Cursor rechts/runter)
- - erster Eintrag (Home)
- - letzter Eintrag (Shift-Home)
- - Abbruch (Escape/Undo)
- - aktuellen Eintrag auswählen (Space,Return)
-
- - Dialogoptik in weiten Grenzen variierbar:
- - Hintergrundbox (Muster,Farbe,Rahmen)
- - Flugecke wird an Hintergrundbox angepaßt
- - Rahmen (Schrift einfach/doppelt umrandet,Schriftgröße)
- - Titel-Unterstrich (Länge,Dicke,einfach/doppelt unterstrichen)
- - Farben der erweiterten Objekte
- - viele Varianten der Radio-/Check/Cycle-Buttons sowie Sliderpfeile
- - usw.
-
- - sauber programmiert, d.h. unabhängig von
- - Computer ((MEGA) ST/STE,TT,Falcon,Emulator usw.)
- - Auflösung und Anzahl der Farben
- - Betriebsystem (TOS,MTOS,MiNT,MagiC,Geneva,MultiGEM usw.)
- - VDI/GDOS-Treiber
- - Größe des System-Fonts
-
- - usw.
-
- 4. Benutzung der Library:
- ---------------------------
-
- Durch die beiliegenden, kommentierten Beispielprogramme, welche einen Teil
- der Fähigkeiten demonstrieren, sowie die Dokumentation der Funktionen,
- Variablen und Strukturen bzw. Konstanten in der Datei 'MANUAL.TXT' bzw.
- dem Hypertext 'E_GEM.HYP' sollte die Verwendung der Library kein größeres
- Problem darstellen.
-
- Eine weitere Hilfe sind sicherlich die veröffentlichten Quelltexte der
- Library sowie der WinLupe als weiteres Beispielprogramm. Sollte jemand
- dennoch Probleme mit oder Fragen bzgl. der Library haben, so kann er sich
- an mich wenden.
-
- 5. Bisherige EnhancedGEM-Applikationen:
- -----------------------------------------
- (abgesehen von weniger nützlichen Beispielprogrammen)
-
- - WindowViewer (Datei-Viewer als kommentiertes Beispielprogramm,PD)
- - ClipboardViewer (Clipboardviewer als kommentiertes Beispielprogramm,PD)
- - XClipboard (XClipboard-Clone,PD)
- - PreView (Resource-Previewer,PD)
- - WinLupe (saubere Bildschirmlupe,PD)
- - LZH-Shell (Shell zu LHarc,Fairware)
-
- - ESS-Code (GEM-UUencoder/-decoder,Shareware) von Michel Forget
- - Before Dawn (Bildschirmschoner,Shareware) von Arne Rudolph
- - PLZ (Postleitzahlenkonvertierer,PD) von Andreas Schrell
- - DB-Log (Loginstatistik-Programm zur D-Box,PD) von Arne Konopinski
- - PassThru (Desktoperweiterung,PostCardWare) von Florian Erhard
- - 800XL Deejay (800XL-Laufwerksemulator,PD) von Kolja Koischwitz
- - ACP (Another Crude Player,Freeware) von Carsten Tolkmit
- - Thor (GEM-Variante des Spiels Thor,Shareware) von Jean-Jaques Michel
- - GDOS-Print (Ausdrucken über GDOS, PD) von Steffan Kaminski
-
- in Arbeit:
- - Simpl (Texteditor mit Highlighting,PD) von Frank Laus
- - Laborant professionell (Chemie-Analyseprogramm,PD) von Jens Schulz
- - u.a.
-
- 6. Zukunft
- ------------
-
- In Abhängigkeit von meiner Lust, der vorhandenen Zeit, der Resonanz auf
- diese Library und der Anzahl der veröffentlichten EnhancedGEM-Appli-
- kationen sind für die Zukunft folgende Dinge geplant:
-
- - Fenster-Menüs
- - Font-Selector-Box
- - Listboxen
- - Text-Fenster
- - Toolbars
- - Werteingabefelder
- - scrollbare Eingabefelder
- - neue erweiterte Objekttypen
- - Unterstützung der Help-, View- und Menü-Protokolle
- - usw...
-